/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cpproject1;


public interface IMaze {
    //tobe Used by ui for populating purpose
    /**
     * 
     * @return
     */
    MazeCellType[][] getDungeon();

    /**
     * 
     * @param direction
     * @param player
     * @return
     */
    Boolean Move(Directions direction, Player player);

    /**
     * 
     * @param direction
     * @param player
     * @return
     */
    Boolean MoveJump(Directions direction, Player player);

    /**
     * 
     */
    void weHaveAWinner();
    
    /**
     * 
     * @param listener
     */
    void subscribeToUIEvents(UpdateUIEventListener listener);
}
